/**
 * createBy : qiujiang.ma
 * caeateDate : 2010-03-09
 */
 
/**
 * 字符串转成日期类型      
 * 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd     
 */
function StringToDate(DateStr){      
     var converted = Date.parse(DateStr);     
     var myDate = new Date(converted);  
     //判断是否为非数字 Not a Number
     if (isNaN(myDate)){      
         //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';     
         var arys= DateStr.split('-');     
         myDate = new Date(arys[0],--arys[1],arys[2]);     
     }     
     return myDate;     
}     

/**
 * 计算日期
 * 传入一个string类型的日期，如果不传就是当前日期
 * 得到日期值 处理年月日 格式化成 yyyy-MM-dd
 * m为正则加m月，m为负则减m月
 * n为正则加n天，n为负则减n天
 */
function getAppDate(dateStr,m,d){
	var curDate=null;
	if(dateStr==null){
	   	 curDate = new Date();
	}else{
         curDate = StringToDate(dateStr); 
	}
	var year = curDate.getFullYear();
	var month = curDate.getMonth() + m;
	var date = curDate.getDate() + d;
	curDate.setMonth(month);
	curDate.setDate(date);
	
	var appDate = new Date(curDate);
	//var d2 = new Date(year,month,date);
	year2 = appDate.getFullYear();
	month2 = appDate.getMonth()+1;
 	date2 = appDate.getDate();
	//月份或者日期如果小于10前面补0
		month2 = month2<10?"0"+month2:month2;
		date2 = date2<10?"0"+date2:date2;
	return year2+"-"+month2+"-"+date2;
}

/**
 * minDate：页面输入的起始日期
 * maxDate：页面输入的结束日期
 * 检验form值
 * @return {Boolean}
 */
function cmp2Date(minDate,maxDate){
    if(minDate>maxDate){
        alert("起始日期不能大于结束日期！");
        return false;
    }
    return true;
}
 
 
/**
 * 比较两个日期相差多少天
 * if (DateDiff(strto, strfrom) > 180) //180 days
 */
function DateDiff(sDate1, sDate2) {  
    var aDate, oDate1, oDate2, iDays;
    aDate = sDate1.split("-");
    oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
    aDate = sDate2.split("-");
    oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
    iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); 
    return iDays;
}

/**
 * sm:页面的输入框
 * 判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期
 */
 function   IsDate(sm,mystring)   {
      var   reg   =   /^(\d{4})-(\d{2})-(\d{2})$/;  
      var   str   =   mystring;  
      var   arr   =   reg.exec(str);  
      if   (str=="")   return   true;  
      if   (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){  
        alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!");  
        return   false;  
      }  
      return   true;
  } 

/**
* 打开部门树形图窗口
*/
function showDeptTree(deptArea,deptId,deptName){
	//alert(deptArea);
	$("#"+deptArea).load("http://www.95590.cn/ebiz/res/common/agencyTeamTree.jsp",{deptArea:deptArea,deptId:deptId,deptName:deptName},
	   function(){
	        //alert("load div="+deptArea);
	   	 	document.getElementById(""+deptArea).style.display='block';
	   	 }
	  );
}

/**
 * 小数点格式化成2位
 */
function changeTwoDecimal(x){
	if(x==undefined || x==null){
		return 'http://www.95590.cn/ebiz/res/js/0.00';
	}
	var f_x = parseFloat(x);
	//如果 x 是特殊的非数字值 NaN（或者能被转换为这样的值），返回的值就是 true。如果 x 是其他值,则返回 false。
	if (isNaN(f_x)){
	//alert('function:changeTwoDecimal->parameter error');
	return false;
	}
	var f_x = Math.round(x*100)/100;
	var s_x = f_x.toString();
	var pos_decimal = s_x.indexOf('.');
	
	if (pos_decimal < 0) {
		pos_decimal = s_x.length;
		s_x += '.';
	}
	while (s_x.length <= pos_decimal + 2){
		s_x += '0';
	}
	return s_x;
}


//替换字符串函数
function replaceStr(strExpression,strFind,strReplaceWith)
{
  var strReturn;
  var re = new RegExp(strFind,"g");
  if(strExpression==null)
    return null;
 
  strReturn = strExpression.replace(re,strReplaceWith);
  return strReturn;
}

function setCookie(name,value) {    
	 document.cookie   = name   +   "= "+   escape(value); 
	} 


function getCookie(objName){
//获取指定名称的cookie的值  
var arrStr = document.cookie.split("; ");  
for(var i = 0;i < arrStr.length;i ++){ 
  var temp = arrStr[i].split("=");  
 if(temp[0] == objName) return unescape(temp[1]);   
} 
}

//验证身份证号的正确性
function validateID(ID_number){
	var _idcard = ID_number;
	if(_idcard==""){
		return false;
	}
	var regex1 = /^[1-9][0-7]\d{4}((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))\d{3}(\d|X|x)?$/;

	/* 身份号码位数及格式检验 */
	switch(_idcard.length){
	   case 15:
			if ( (parseInt(_idcard.substr(6,2))+1900) % 4 == 0 || 
					((parseInt(_idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(_idcard.substr(6,2))+1900) % 4 == 0 )){
				var regex2 = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;// 测试出生日期的合法性
			} else {
				var regex2 = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;// 测试出生日期的合法性
			}
			if(regex2.test(_idcard)){
				return true;
			}else{
				return false;
			}
			break; 
	  case 18:
			if(regex1.test(_idcard)){
				var S = (parseInt(_idcard.charAt(0)) + parseInt(_idcard.charAt(10))) * 7 + 
				(parseInt(_idcard.charAt(1)) + parseInt(_idcard.charAt(11))) * 9 + 
				(parseInt(_idcard.charAt(2)) + parseInt(_idcard.charAt(12))) * 10 + 
				(parseInt(_idcard.charAt(3)) + parseInt(_idcard.charAt(13))) * 5 + 
				(parseInt(_idcard.charAt(4)) + parseInt(_idcard.charAt(14))) * 8 + 
				(parseInt(_idcard.charAt(5)) + parseInt(_idcard.charAt(15))) * 4 + 
				(parseInt(_idcard.charAt(6)) + parseInt(_idcard.charAt(16))) * 2 + 
				parseInt(_idcard.charAt(7)) * 1 + parseInt(_idcard.charAt(8)) * 6 + 
				parseInt(_idcard.charAt(9)) * 3;
				var Y = S % 11;
				var M = "F";
				var JYM = "10X98765432";
				M = JYM.substr(Y, 1);
				/* 判断校验位 */
				if (M == _idcard.charAt(17).toUpperCase()) {
					return true;
				} else {
					return false;
				}
			}else{
				return false;
			}
		break;
	 default:
		return false;
    }	
}

//根据身份证算出出生年月
function getBirthdayByID(ID_number){
	if(!validateID(ID_number)){
		return;
	}
	var tmpStr="";
	if(ID_number.length == 15)
	{
		tmpStr=ID_number.substring(6,12);
		tmpStr= "19" + tmpStr;
		tmpStr= tmpStr.substring(0,4) + "-" + tmpStr.substring(4,6) + "-" + tmpStr.substring(6);
	}
	else if(ID_number.length == 18)
	{
		tmpStr=ID_number.substring(6,14);
		tmpStr= tmpStr.substring(0,4) + "-" + tmpStr.substring(4,6) + "-" + tmpStr.substring(6);

	}else {
		return "";  
	}
	return tmpStr;
}

//根据出生日期计算年龄(精确到日)
function calculateAgeByBirthday(birthday){
	var _birthday=new Date(birthday.replace(/-/g, "\/"));
	var d=new Date();
	var age = d.getFullYear()-_birthday.getFullYear()
	          -((d.getMonth()<_birthday.getMonth()
		  || d.getMonth()==_birthday.getMonth() 
		  && d.getDate()<(_birthday.getDate()-1))?1:0);
	return age;	
}